package org.example.weboj.dto;

import lombok.Data;
import java.util.List;
import java.util.Map;

@Data
public class DebugRequest {
    private String type; // launch, setBreakpoints, continue, next, stepIn, stepOut, pause, terminate, evaluate
    private String sessionId;
    private Map<String, Object> data;
    
    // 用于launch请求的数据
    @Data
    public static class LaunchData {
        private String code;
        private String language;
        private String input;
        private List<Breakpoint> breakpoints;
    }
    
    // 用于evaluate请求的数据
    @Data
    public static class EvaluateData {
        private String expression;
        private String context; // repl, watch, hover
        private String command; // stackTrace, variables
    }
    
    // 用于setBreakpoints请求的数据
    @Data
    public static class SetBreakpointsData {
        private List<Breakpoint> breakpoints;
    }
} 